package com.kim.store.mapper;

import com.kim.store.entity.Cart;
import com.kim.store.vo.CartVO;

import java.util.Date;
import java.util.List;

public interface CartMapper {
    /**
     * 插入购物车数据
     * @param cart 购物车数据
     * @return 受影响的行数
     */
    Integer insert(Cart cart);

    /**
     * 更新购物车某件商品的数量
     * @param cid 购物车id
     * @param num 更新的数量
     * @param modifiedUser 修改人
     * @param modifiedTime 修改时间
     * @return 受影响的行数
     */
    Integer updateNumByCid(Integer cid,
                           Integer num,
                           String modifiedUser,
                           Date modifiedTime);

    /**
     * 根据用户的id和商品的id来查询
     * @param uid
     * @param pid
     * @return
     */
    Cart findByUidAndPid(Integer uid,Integer pid);

    /**
     * 根据用户id查询购物车和商品的联合表
     * @param uid 用户id
     * @return 返回购物车的值对象集合
     */
    List<CartVO> findVOByUid(Integer uid);

    /**
     * 根据购物车id查询单条购物车数据
     * @param cid  购物车id
     * @return 单条购物车数据
     */
    Cart findByCid(Integer cid);

    /**
     * 根据购物车id查询 购物车和商品的联合表
     * @param cids 购物车id
     * @return 购物车和商品的联合表
     */
    List<CartVO> findVOByCid(Integer[] cids);



}
